Operating system based event verification

ABSTRACT

A system and method for tracking beacon execution using event verification capability of an operating system. Displaying targeted advertisements during content viewing and web browsing and tracking the rendered and displayed advertisements for payment based on completion of viewing using means for keeping count, with verifiable IDs, of beacon execution using the operating system capability to verify application activity.

BACKGROUND OF THE INVENTION

1. Technical Field

The invention relates to targeted advertising. More specifically, theinvention relates to a system for trustworthy tracking of rendered anddisplayed advertisements for payment based on completion of viewing.

2. Description Of The Related Art

Targeted and focused advertising is a way to reach people directly withitems of interest to them. The wide spread use of mobile handhelddisplay devices (MHDDs), like cell phones and personal digitalassistants (PDAs), in conjunction with stationary display devices (DDs),have made the rendering and execution of content, including the targetedadvertisements, a very complex process. Since the MHDDs can be used toview preloaded content even when they are disconnected from a network,targeted advertisements are also pre-stored on the MHDDs to be renderedand displayed when the selected content is viewed on the MHDDs.

Typically, payment for content and the advertisements used in thecontent is based on the number of times the content and the associatedadvertisement is viewed by the customer. This payment model necessitatestracking the content and viewing the content to ensure that the contentand advertisements are effectively presented in a predefined fashion,and hence are eligible for payment. According to the prior art, this isdone by the use of beacons attached to the content. Using beacons, thetracking of the rendering and of the display of the content is explainedin terms of the content. The systems for tracking the viewing of contentare explained using MHDD as the basis as viewing of the content on DDsform a simpler subset of that on the MHDD.

FIG. 1 shows a typical implementation of the prior art system 1000 forevaluating and tracking the viewing of content 103 including associatedadvertisements on an MHDD. Content providers 101 generate the content103 and supply them to the web server 201. The content 103 containsbeacons 104, which are embedded executable script, as part of thecontent. The web server 201 generates web pages 202 by combining content103 from multiple content providers 101. These web pages 202 are storedin a library 203 on the web server. The web pages contain, as part ofthe content 103, the beacons 104. During connected time, when the MHDD301 is connected to the net, the content 103 can be downloaded on to theMHDD 301 and stored. When this content 103 is viewed, as the specificportion of the content 103 with the beacon 104 is rendered anddisplayed, the beacons 104 are executed on the web browser 302. Thenumber of times each beacon 104 is executed on the web server 302 istransferred 306, by the web server, to a tracking server 401 directlywhen the MHDD 301 is connected to the internet. If not, this beacon 104execution count on the web browser 302, is stored on the MHDD 301, andtransferred to the tracking server 401 when an active connection isestablished. The tracking server 401 uses this count to establish thepayment criteria, as per predefined agreements, to the content andadvertisement providers 101.

The use of beacon 104 execution counts on the web browser 302 is not avery trustworthy indication of the rendering and display of the content103 and advertisements. This is due to the fact that it is possible toinvisibly encapsulate beacons 104 and add them to the content 103. As aresult a larger than actual count may be produced during rendering of acontent 103 without really displaying the content multiple times.Similarly it is possible to make beacons 104 inactive during content 103display such that the beacon 104 execution count that is provided to thetracking server is less than the number of times the content 103 isactually rendered and displayed.

SUMMARY OF THE INVENTION

The invention relates to display of targeted advertisements duringcontent viewing and web browsing and especially to trustworthy trackingof rendered and displayed advertisements for payment based on completionof viewing.

The method of using the capability of operating systems, wherein anapplication can ask the Operating system to verify an applicableactivity within the system, to provide a count of execution of beaconsembedded in the content.

The method and system for enabling a trust worthy means for keepingcount, with verifiable IDs, of beacon execution during content viewing,using the operating system capability to verify application activity.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a typical implementation of the prior art system forevaluating and tracking the viewing of content including associatedadvertisements on an MHDD according to some embodiments of theinvention;

FIG. 2 shows an exemplary and non limiting block diagram of a system fortracking beacon execution using event verification capability of anoperating system according to some embodiments of the invention; and

FIG. 3 is a simplified, exemplary and non-limiting flowchart of a methodof for tracking beacon execution using event verification capability ofan operating system according to some embodiments of the invention.

DETAILED DESCRIPTION OF THE INVENTION

As explained above in the discussion of FIG. 1, the use of beacon 104execution counts on the web browser 302 is not a very trustworthyindication of the rendering and display of the content 103 andadvertisements. This is due to the fact that it is possible to invisiblyencapsulate beacons 104 and add them to the content 103. As a result alarger than actual count may be produced during rendering of a content103 without really displaying the content multiple times. Similarly itis possible to make beacons 104 inactive during content 103 display suchthat the beacon 104 execution count that is provided to the trackingserver is less than the number of times the content 103 is actuallyrendered and displayed.

Hence it would be advantageous if a fully trustable means for generationof the count of the content 103 rendering by execution of beacons 104may be established, and further provided to a tracking server 401 toenable a reliable payment criteria.

Today targeted advertisements are displayed during browsing the web orviewing content. On display devices (DDs) which may be mobile handhelddisplay devices (MHDDs) the advertisements and content for viewing aredownloaded and stored enabling these advertisements and content to bedisplayed even when the MHDD has no connection to the internet. Paymentis made only for viewed content and the associated viewedadvertisements. Today a method based on count of completed viewings,using embedded tracking beacons, which are typically small scripts,executed on the browser, is used for tracking this. This is anun-trustworthy system as simulated beacon execution and beaconelimination are both possible on the browser.

A new method of tracking the beacon execution using event verificationcapability of an operating system is disclosed as a trustable alternateto browser based beacon execution. The execution counts are sent to atracking server, during connected time, to enable compilation andpayment.

Operating systems related operations are a well understood and trusted.Hence in order to get an accurate and trusted measure of the content andadvertisement display it is better if the capabilities of the operatingsystem can be used. In operating systems, an application can ask theoperating system to verify an applicable activity within the system.This capability is used to confirm the execution of the content and theadvertisements. This capability is used with a unique library and anapplication programming interface (API), in the disclosed verifiable andtrustable implementation, to confirm the number of executions of aspecific functionality in a verifiable manner. This capability can beapplied to the execution of beacons and to provide a verifiable count toa registered tracking server with caller ID and event ID both of whichensure the correctness of the event execution. The operating system canstore the execution count information on the MHDD if the connection tothe server via the network is unavailable and download the informationwhen connection is established in an authenticated manner. Thecommunication between the tracking server and the MHDD can be enabledusing any suitable method of authentication available. Here again thesystem explanation is provided based on the content being rendered anddisplayed on MHDDs as rendering and displaying on DDs form a simpler subset.

FIG. 2 shows an exemplary and non limiting block diagram 2000 of asystem implementing the present invention. Content providers 101generate the content 103 and supply them to the web server 201. Thecontent 103 will contain beacons 104 as part of the content. The webserver 201 generates web pages 202 by combining content 103 frommultiple content providers 101. These web pages 202 are stored in alibrary 203 on the web server. The web pages contain as part of thecontent 103 the beacons 104. During the period or time when the MHDD 301is connected to the net (connected time) the content 103 can bedownloaded on to the MHDD 301 and stored. An API 303 with an associatedlibrary 304 is preloaded on the MHDD 301, which enables the operatingsystem 305 of the MHDD to identify, verify and confirm the number ofexecutions of a specific functionality, namely the execution of each ofthe embedded beacons 104, identified by the library, in a verifiablemanner with an associated caller ID and event ID. Hence the operatingsystem 305 is able to provide a verifiable count of the execution of thebeacons 104, and thereby the rendering of the content and advertisement,to the tracking server 401. This verified beacon 104 execution count isfully trustable as operating system 305 based verification of theexecution of any applicable activity is trust worthy and difficult tomanipulate. The information is transferred 307, to the tracking server401 by the operating system 305. This can be done in an encrypted andsecure fashion using any available method. This information can be usedto generate a payment based on a payment criteria, pre-established forthe content 103 including the advertisements, that is verifiable andtrustable by all.

FIG. 3 is a simplified, exemplary and non-limiting flowchart 3000 of thecurrent invention executed by system shown in FIG. 2. The content 103and advertisement providers 101 generate and supply the content 103 andadvertisements with embedded beacons 104 (S3010). These beacons 104 areembedded in the content and advertisements to enable verification of therendering and display of the content and advertisements 103. Thiscontent 103 and advertisements are supplied to the web server 201 withpayment criteria established based on a count of the number of times acontent 103 and associated advertisements are displayed (S3020). The webserver 201 receives content 103 and associated advertisements from anumber of content suppliers 101 and generates and stores these as webpages 202 in a library of web pages (S3030). When a user of a DD or MHDD301 requests a web page 202 the web page 202 is supplied with built incontent 103 and associated advertisements. This content 103 has theembedded beacons 104 associated with the content (S3040). Duringrendering and display of the content and associated advertisements onthe web browser, the embedded beacons are executed on the browser(S3050). A pre-loaded API 303 with a library 304 is used to request theoperating system 305 of the DD or MHDD to verify selected beacon 103executions in the system of the DD or MHDD 301 (S3060). The operatingsystem 305, based on the request, verifies and confirms the selectedbeacon 104 executions on the browser of the system. Each selected beacon104 execution is identified by the operating system 305 with a caller IDand an event ID. Since the caller ID and event ID are specificcapability of the operating system 305, these are not modifiable andhence are trust worthy. The operating system 305 is hence able to keep averifiable and trustable count of the number of times each selectedbeacon 104 is executed during the rendering and display of the web page202 with content 103 viewing on the browser 302 (S3070). Whenever the DDor MHDD 301 is connected to the web, the operating system is able totransfer the verifiable and trustable count of the execution of selectedbeacons to a pre-defined tracking server 401 (S3080). The trackingserver based on the verified count, with caller id and event id, is ableto generate a payment, for the viewed content 103 and advertisements,based on the payment criteria previously established (S309).

The principles of the invention or part thereof are implemented ashardware, firmware, software, or any combination thereof. Moreover, thesoftware is preferably implemented as an application program tangiblyembodied on a program storage unit or non-transitory computer readablemedium or a non-transitory machine-readable storage medium that can bein a form of a digital circuit, an analogy circuit, a magnetic medium,or combination thereof. The application program may be uploaded to, andexecuted by, a machine comprising any suitable architecture. Preferably,the machine is implemented on a computer or communication platformhaving hardware such as one or more central processing units (“CPUs”), amemory, and input/output interfaces. The platform may also include oneor more operating systems and microinstruction codes. The variousprocesses and functions described herein may be either part of themicroinstruction code or part of the application program, or anycombination thereof, which may be executed by a CPU, whether or not suchcomputer, communication system or processor is explicitly shown. Inaddition, various other peripheral units may be connected to theplatform such as an additional data storage unit and a printing unit.

Even though the implementations disclosed and described herein are thepreferred ones, it is not meant to be limiting. There may bemodifications and improvements which may be applicable and are clear topractitioners of the art. There are also many different applications ofthe trustable verification process, which are not enumerated, herein.These modifications of the invention, not presently described orforeseen, may nonetheless represent equivalents thereto which are alsocovered by this disclosure.

As will be understood by those familiar with the art, the invention maybe embodied in other specific forms without departing from the spirit oressential characteristics thereof. Likewise, the particular naming anddivision of the members, features, attributes, and other aspects are notmandatory or significant, and the mechanisms that implement theinvention or its features may have different names, divisions and/orformats. Accordingly, the disclosure of the invention is intended to beillustrative, but not limiting, of the scope of the invention, which isset forth in the following Claims.

1. A method of verifying an event on a display device comprising:establishing a digital connection between at least one content providerand at least one server configured for networking display devices withcontent providers; publishing digital content by said at least onecontent provider, wherein said digital content comprises actual contentand at least one advertisement, wherein said step of publishingcomprises establishing one or more payment criteria used to determinehow said content provider is paid for delivering said at least oneadvertisement; transferring said digital content to said at least oneserver; establishing a digital connection between said at least oneserver and at least one display device that includes at least one deviceprocessor operatively coupled with at least one device network interfaceand a device memory, wherein said device processor runs an operatingsystem, wherein said mobile device is preloaded with an applicationprogramming interface (API) configured for allowing said operatingsystem to identify and confirm the execution of one or more executionsof said at least one advertisement in the form of one or more verifiedbeacons; downloading and storing said digital content to said displaydevice; executing digital content on said display device; identifyingand confirming the execution of said at least one advertisement by saidAPI on said operating system, wherein said confirmation comprises savingverification information; and transferring said verification informationfrom said operating system to a tracking server, wherein said trackingserver includes a processor configured for determining how said contentprovider is paid for delivering said at least one advertisement byaccounting for said one or more verified beacons.
 2. The method of claim1, further comprising providing a plurality of content providers and aplurality of display devices.
 3. The method of claim 2, wherein saidplurality of display devices comprises at least one network of handheldmobile devices.
 4. The method of claim 1, further comprising: encryptingsaid verification information before transfer to said tracking server.5. The method of claim 1, wherein said step of publishing comprisesestablishing one or more payment criteria used to determine how saidcontent provider is paid for delivering said at least one advertisement.6. The method of claim 1, further comprising the step of deliveringpayment to said at least one content provider based on the accounted forverified beacons according to said payment criteria.
 7. The method ofclaim 1, wherein publishing digital content by said at least one contentprovider further comprises pre-storing said at least one advertisementon said display device for rendering and displaying in the absence of aconnection to said server.
 8. A system comprising: a display devicehaving at least a web browser; said display device further having anoperating system able to track selected events with unique caller IDsand event IDs; an application programming interface with a uniquelibrary attached to said operating system; at least a web server linkedto said display device for providing web pages with content andassociated advertisements on request; at least a content provider linkedto said web server for providing said content with embedded beacons andsaid associated advertisements for inclusion in said web pages; atracking server linked to said display device, to receive an executioncount of said embedded beacons on said at least one web browser; whereinsaid embedded beacons are executed by said at least a web browser duringrendering and display of said content during viewing of said web pageson said display device; said application programming interface selectsand identifies said embedded beacons, that are executed by said at leastone web browser for tracking by said operating system; said operatingsystem tracks and keeps count of said selected beacons executed over thebrowser with verifiable IDs; and said operating system further transferssaid verifiable count to said tracking server when connection over theweb is available; such that said tracking server is able to use apredefined criteria to enable payment for said content and associatedadvertisements using said trustworthy and verifiable count of saidexecution of said beacons on said web browser.
 9. The system of claim 8,wherein said verified execution of content guarantees rendering anddisplay of said associated advertisements.
 10. The system of claim 8,wherein said payment for said associated advertisements are based onsaid trust worthy and verifiable execution count of said embeddedbeacons, embedded in said content.
 11. The system of claim 8, whereinsaid display device is a mobile handheld display device.
 12. The systemof claim 11 wherein said content and associated advertisements arepre-stored on said mobile handheld display device, for rendering anddisplay even when said mobile handheld device has no web connection. 13.The system of claim 11, wherein said trust worthy and verifiable countof said executed beacons are transferred to said tracking server whenweb connection is established by said mobile handheld display device.14. A method wherein number of executions of beacons embedded in contentin a web page that is rendered and displayed on a web browser of adisplay device is tracked using a capability of an operating system totrack selected events providing them with verifiable IDs.
 15. The methodof claim 14, wherein an API with an associated library is used to enablesaid operating system to identify, track and verify a count of saidexecutions of said embedded beacons.
 16. The method of claim 14, whereineach of the said executions of said beacons are identified by a callerID and event ID established by said operating system.
 17. The method ofclaim 16, wherein said caller ID and event ID associated with each saidexecution enable verification of said executions of said embeddedbeacons.
 18. The method of claim 14, wherein a count of said number ofexecutions of said beacons are transferred to a tracking server forestablishing a trust worthy and verifiable payment for content andadvertisements based on a pre-established payment criteria.
 19. Themethod of claim 15, wherein said verifiable IDs provided by saidoperating system make said count trustable.
 20. A method wherein acapability of an operating system to verify an applicable activitywithin the system when requested by an application, in a trust worthyfashion with verifiable identification, is used to verify rendering anddisplay of content and associated advertisements, within a web pagebeing viewed on a browser on a display device, to provide a trust worthyand verifiable count of executions of embedded beacons, embedded withinsaid content, to track complete rendering and display of said contentand associated advertisements.
 21. The method of claim 20, wherein eachsaid verifiable executions of embedded beacons is verifiable using aunique id supplied by said operating system.
 22. The method of claim 20,wherein said count is used for establishing payment for said renderedand displayed content and associated advertisements viewed on thedisplay device.
 23. A system comprising: a display device having atleast a web browser able to execute scripts there on; said displaydevice further having an operating system able to track selected eventswith unique caller IDs and event IDs; an application programminginterface with a unique library attached to said operating system toselect events to be tracked; said display device having at least a webserver interface to request and receive web pages with content andadvertisements; said content and advertisements containing scripts inthe form of embedded beacons therein; said display device further havingan interface to a tracking server which keeps track of said viewingstatus and said measure of the number of times each content andadvertisement is viewed; wherein said application programming interfaceselecting a set of embedded beacons from said embedded beacons embeddedwithin said content and advertisements, to be tracked by said operatingsystem; and said operating system tracking and providing verifiable IDand count of said execution of said selected set of embedded beacons onsaid at least a web browser; such that said count of execution of saidselected embedded beacons on said at least a web browser is sent to saidtracking server over said interface, to track and keep a verifiablecount of a number of times content and advertisements are viewed. 24.The system of claim 23, wherein said verifiable count of said number oftimes content and advertisements are viewed is used to pay for thecontent and advertisements as per a predetermined payment criteria. 25.A mobile device configured to reliably verify the occurrence of an eventcomprising: at least one processor coupled with a memory; a networkinterface operatively coupled with said processor and configured fordynamically establishing a digital connection between said mobile deviceand said at least one content provider via at least one server; a mediaplayer operatively coupled with said processor and configured forrendering digital content for display, said media player furtherconfigured for ingesting digital content published by said at least onecontent provider, wherein said digital content comprises actual contentand at least one advertisement; wherein said processor is configured torun an operating system and an application programming interface (API)configured for allowing said operating system to identify and confirmthe display of one or more advertisement in the form of an executioncount of one or more verified beacons; wherein said processor isconfigured to save said execution count of said one or more verifiedbeacons in said memory such that said execution count of said one ormore verified beacons is preserved when said mobile device is notconnected to said at least one server; and wherein said processor isconfigured to transfer said execution count of said one or more verifiedbeacons to said at least one server when said mobile device is connectedto said at least one server.